
#ifndef KBE_NETWORKLISTENER_RECEIVER_H
#define KBE_NETWORKLISTENER_RECEIVER_H

// #include "common/common.h"
// #include "common/timer.h"
// #include "helper/debug_helper.h"
// #include "network/common.h"
#include "interfaces.h"
// #include "network/packet.h"
 #include "channel.h"

class EndPoint;
class Address;
class NetworkInterface;

class ListenerReceiver : public InputNotificationHandler
{
public:
	ListenerReceiver(EndPoint & endpoint, Channel::Traits traits, NetworkInterface & networkInterface, void* pdata);
	~ListenerReceiver();

private:
	virtual int handleInputNotification(int fd);
/*	EventDispatcher & dispatcher();*/

private:
	EndPoint & endpoint_;
	Channel::Traits traits_;
	NetworkInterface & networkInterface_;
	void* pUserData;
};

#ifdef CODE_INLINE
#include "listener_receiver.inl"
#endif
#endif // KBE_NETWORKLISTENER_RECEIVER_H
